package com.rabbit.recoverer;

import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.retry.RejectAndDontRequeueRecoverer;

/**
 * 用于处理 RabbitMQ 消息消费失败后的异常情况。
 * 当消息消费失败且重试次数耗尽后，此恢复器会被调用；它会拒绝消息且不重新入队，同时记录异常信息；
 * 适用于消费端的消息恢复策略。
 *
 * @author yuhuan
 * @date 2025/4/21
 */
public class ExceptionRejectRecoverer extends RejectAndDontRequeueRecoverer {

    @Override
    public void recover(Message message, Throwable cause) {
        System.err.println("[消息恢复器]将丢弃消息，错误: " + cause.getCause());
        super.recover(message, cause);
    }
}
